Integrity testing (also known as assured recovery) is one part of a disaster recovery (DR) or high availability (HA) solution. A typical DR or HA system for a specific application (for example, a standalone application) may include two servers, one of which is a master (production) server, and the other is a replica (backup) server. The application usually runs on the master server. The integrity testing procedure/mechanism may be performed to assist with recovery of the master server in case of failure (for example, hardware failure of the master server) and/or planned maintenance downtimes. The integrity testing procedure/mechanism may be used to guarantee that the application will run properly at the master server after the backed up or replicated data of the application is restored to the master server from the replica server. Without the integrity testing procedure/mechanism, a user may not be able to ensure that the application can still work at the master server after recovery from failure.
More and more mission critical applications in an enterprise environment, for example, Microsoft SharePoint, Microsoft Exchange, Microsoft Dynamics, etc., are architecturally distributed today. Implementing assured recovery for distributed applications is technically difficult and challenging. There is a need for a mechanism for providing assured recovery for distributed applications.
These and other drawbacks exist.